Spark SQL · 结构化数据处理技巧
📚 30 章
进阶之路
第 01 章
Spark SQL 概述
📖
发展历史 · 核心优势 · 与 Hive 对比
第 02 章
DataFrame 基础
📊
概念 · 创建方式 (RDD/数据源) · Schema 定义
第 03 章
Dataset 详解
🔍
Dataset vs DataFrame · 类型安全 · Encoder 机制
第 04 章
数据读取与写入
📂
CSV/JSON/Parquet/ORC · 写入模式与分区
第 05 章
Transformation 操作
⚙️
select · filter · where · distinct · dropDuplicates
第 06 章
聚合操作
📈
groupBy · agg · count/sum/avg/min/max
第 07 章
窗口函数
🪟
row_number · rank · dense_rank · lag/lead · 窗口定义
第 08 章
Join 操作
🔗
inner/left/right/full/semi/anti · 性能优化
第 09 章
UDF 与 UDAF
🧩
自定义函数 · 聚合函数注册与使用
第 10 章
SQL 风格查询
💡
临时视图 · 全局视图 · 纯 SQL 写法
第 11 章
数据清洗技巧
🧹
空值 · 异常值 · 重复值 · 格式统一
第 12 章
日期与时间处理
⏰
日期函数 · 时间戳转换 · 时间窗口
第 13 章
字符串处理
🔤
正则 · split · concat · substring 等
第 14 章
复杂类型处理
🧬
Array · Map · Struct 创建与操作
第 15 章
性能调优 (一)
⚡
Catalyst 优化器 · Tungsten 执行引擎
第 16 章
性能调优 (二)
🚀
分区 · 分桶 · 缓存 · 广播变量
第 17 章
性能调优 (三)
🧠
AQE · 动态分区裁剪
第 18 章
数据倾斜处理
⚖️
倾斜原因 · 加盐法 · 两阶段聚合
第 19 章
Shuffle 优化
🔄
Shuffle 原理 · 减少 Shuffle 策略
第 20 章
文件格式选择
🗂️
Parquet vs ORC vs Avro · 压缩算法对比
第 21 章
分区表与分桶表
📁
静态分区 · 动态分区 · 分桶原理
第 22 章
Catalog 与元数据
📋
Spark Catalog API · 表管理 · 函数管理
第 23 章
流式处理入门
🌊
Structured Streaming 基础 · 与批处理统一
第 24 章
Streaming 实战
📡
读取 Kafka · 窗口聚合 · 输出模式
第 25 章
Streaming 状态管理
🧾
mapGroupsWithState · flatMapGroupsWithState
第 26 章
Streaming 容错
🛡️
Checkpoint · 端到端 Exactly-Once
第 27 章
Spark SQL 与 Hive 集成
🏛️
Hive Metastore · UDF · 语法兼容
第 28 章
Spark SQL 与 JDBC
🗄️
读取关系型数据库 · 写入优化 · 并行度
第 29 章
与 MongoDB/Elasticsearch
🍃
NoSQL 数据源集成
第 30 章
综合实战
🏁
端到端数据分析管道 (ETL + 报表)